package com.quanyan.stadium.service.commonComponent.impl;

import com.quanyan.stadium.entity.vo.StadiumNotifyMsg;
import com.quanyan.stadium.service.commonComponent.DataReductionService;
import com.quanyan.statium.service.StadiumInternalService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author xiaoxiao
 *
 *
 * 描述:该service为内部提供相关的dubbo服务
 */

@Service("stadiumInternalService")
public class StadiumInternalServiceImpl implements StadiumInternalService {
    private final static Logger logger = LoggerFactory.getLogger(StadiumInternalServiceImpl.class);

    @Autowired
    private DataReductionService dataReductionService;


    @Override
    public void userGameScheduleInit(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的userGameScheduleInit方法");
        dataReductionService.userGameScheduleInit((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void userGameScheduleUpdate(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的userGameScheduleUpdate方法");
        dataReductionService.userGameScheduleUpdate((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void userGameScheduleFinally(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的userGameScheduleFinally方法");
        dataReductionService.userGameScheduleFinally((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void userGameEventCollect(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的userGameEventCollect方法");
        dataReductionService.userGameEventCollect((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void generateCurrentRoundPushMsgAndMQ(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的generateCurrentRoundPushMsgAndMQ方法");
        dataReductionService.generateCurrentRoundPushMsgAndMQ((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void officialGameEventPushMsg(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的officialGameEventPushMsg方法");
        dataReductionService.officialGameEventPushMsg((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void officialGameEventCollectMsg(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的officialGameEventCollectMsg方法");
        dataReductionService.officialGameEventCollectMsg((StadiumNotifyMsg) stadiumNotifyMsg);
    }

    @Override
    public void officialGameEventTeamJoinUpdate(Object stadiumNotifyMsg) {
        logger.info("开始调用DataReductionService类中的officialGameEventTeamJoinUpdate方法");
        dataReductionService.officialGameEventTeamJoinUpdate((StadiumNotifyMsg) stadiumNotifyMsg);
    }
}
